//
//  IRController.h
//

#import <Cocoa/Cocoa.h>

#import "AppleRemote.h"


@class IRCaptionView;
@class IRMenuView;
@class IRSelectionView;
@class PhotoSlideShow;
@class PhotoViewer;

enum ActiveRemoteObject
{
	kActiveRemote_MainMenu = 0,
	kActiveRemote_FoldersMenu,
	kActiveRemote_SlideshowsMenu,
	kActiveRemote_ImageViewer,
	kActiveRemote_SlideshowViewer,
};

typedef enum ActiveRemoteObject ActiveRemoteObject;

@interface IRController : NSObject 
{
	NSTimer				*menuTimer;
	AppleRemoteEventIdentifier	btnDown;
	int					ticksStart;
	int					ticksLeft;

	NSWindow			*mainWindow;
	IRCaptionView		*captionView;

	NSWindow			*selectionWindow;
	IRSelectionView		*selectionView;

	NSWindow			*menuWindow;
	IRMenuView			*menuView;

	NSArray				*topLevelMenu;

	NSFont				*menuFont;
	NSDictionary		*menuAttributes;
	int					fontHeight;
	int					lineHeight;

	ActiveRemoteObject	activeObject;
	NSString			*curSlideshow;
	NSString			*curFolder;

	BOOL				zeroIndexIsPlay;
	NSString			*firstImage;

	NSArray				*slideshows;
	PhotoSlideShow		*activeSlideshow;
}

+ (IRController*) sharedController;

- (void) startTopLevel;

- (NSFont*) menuFont;
- (NSDictionary*) menuAttributes;
- (int) fontHeight;
- (int) lineHeight;
- (int) separator;

- (void) menuTimer:(NSTimer*) timer;
@end
